/*
 * structs.h
 *      Author: dani
 */

#include "constants.h"

#ifndef STRUCTS_H_
#define STRUCTS_H_

typedef enum {AES128, AES192,AES256,DES} CriptoType;
typedef enum {ECB,CFB,OFB,CBC} CriptoMode;
typedef enum {NONE = -1,LSB1,LSB4,LSBE} StegoMode;
typedef enum {UNDEFINED = -1, EXTRACT, EMBED} StegoOperation;

typedef struct stParams
{
	char in[FILENAME];
	char out[FILENAME];
	char pass[PASSWORD];
	char p[FILENAME]; // carrier of the hidden message
	CriptoType a;
	CriptoMode m;
	StegoMode s;
	StegoOperation sop;

} Params;

typedef struct carrier
{
	unsigned int fileSize;
	void * fileContents;
	char * extension;
} StegoFileT;

#endif /* STRUCTS_H_ */
